package indi.zhifa.recipe.bailan.framework.auth.entity.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 放在mapper上，标注对应实体的鉴权相应列名
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface TableAuth {

    /**
     * 适用于谁创建就谁管理的鉴权模式，如博客的编辑
     *
     * @return
     */
    String relUserIdColumn() default "create_by";

    /**
     * 领域数组
     *
     * @return
     */
    String[] domains() default {"default"};

    /**
     * 对应domains的权限Id列名
     *
     * @return
     */
    String[] idColumns() default {"auth_id"};
    String[] cascadeColumns() default {"auth_cascade"};
}
